﻿using System;
using System.Collections.Generic;

using System.Text;
using System.Runtime.InteropServices;
	
namespace Xeno.Physics
{
    public class XP
    {
     // [System.Security.SuppressUnmanagedCodeSecurity()]
        [DllImport("XenoPhysX.dll")]
        public extern static bool InitXP();

        [DllImport("XenoPhysX.dll")]
        public extern static IntPtr RayCast(out float ox, out float oy, out float oz, out float dx, out float dy, out float dz, out float dis, out float hx, out float hy, out float hz,out float nx,out float ny,out float nz, out bool hitBool);

        [DllImport("XenoPhysX.dll")]
        public extern static IntPtr ShapeCube(float x, float y, float z, float ox,float oy,float oz,bool isStatic);

        [DllImport("XenoPhysX.dll")]
        public extern static IntPtr ActorWithCollider(IntPtr col, bool isStatic, float px, float py, float pz, float m11, float m12, float m13, float m21, float m22, float m23, float m31, float m32, float m33);

        [DllImport("XenoPhysX.dll")]
        public extern static void SDKUpdate(float time);

        [DllImport("XenoPhysX.dll")]
        public extern static void ActorGetPose(IntPtr actor, out float px, out float py, out float pz, out float m11, out float m12, out float m13, out float m21, out float m22, out float m23, out float m31, out float m32, out float m33);

        [DllImport("XenoPhysX.dll")]
        public extern static IntPtr ShapeMesh(IntPtr vertices,IntPtr indices, int vertexCount, int indexCount);

        [DllImport("XenoPhysX.dll")]
        public extern static IntPtr GetActor(IntPtr col);

    }
}
